ACTOR JadeWand : MageWeapon //replaces MWeaponPiece3
{
	//$Category Weapons
	Inventory.PickupMessage "JADE WAND"
	Weapon.AmmoType1 "Mana1"
	Weapon.AmmoGive1 0
	Weapon.AmmoGive2 0
	Weapon.SelectionOrder 3
	Weapon.AmmoUse1 2
	Weapon.KickBack 0
	Weapon.AmmoType2 "Mana1"
	Weapon.AmmoUse2 3
	+UNDROPPABLE
	Tag "Jade Wand"
	AttackSound "Mage/JadeWand/Fire"
	States
	{
	Spawn:
		JADE C -1 Bright
		Loop
	Ready:
		JADE A 1 A_WeaponReady
		Loop
	Deselect:
		JADE A 1 A_Lower
		TNT1 A 0 A_Lower
		Loop
	Select:
		JADE A 1 A_Raise
		TNT1 A 0 A_Raise
		Loop
	Fire:
		JADE B 1 Bright Offset(0, 48) A_FireBullets (6, 4.25, 5, (frandom(3,24))*0.025*(30+ACS_executewithresult(WOC_DECORATE,STATS,INTELLECT,ACTIVATOR)),"JadePuff",FBF_USEAMMO|FBF_NORANDOM)
		JADE B 1 bright offset(0,42) A_SetPitch(Pitch-.4)
		JADE B 1 bright offset(0,42) A_SetPitch(Pitch+.2)
		JADE A 1 offset(0,49) A_SetPitch(Pitch+.2)
		JADE A 1 offset(0,50)
		JADE A 1 offset(0,49)
		JADE A 1 offset(0,46)
		JADE A 1 offset(0,43)
		JADE A 1 offset(0,40)
		JADE A 1 offset(0,37)
		JADE A 1 offset(0,35)
		JADE A 0 offset(0,35) a_refire
		goto ready
	AltFire:
		JADE B 0 A_PlaySoundEx("Mage/JadeWand/Fire","auto")
		JADE B 1 Bright Offset(0, 48) A_FireCustomMissile("JadeShot")
		JADE B 1 bright offset(0,42) A_SetPitch(Pitch-.4)
		JADE B 1 bright offset(0,42) A_SetPitch(Pitch+.2)
		JADE A 1 offset(0,49) A_SetPitch(Pitch+.2)
		JADE A 1 offset(0,50)
		JADE A 1 offset(0,49)
		JADE A 1 offset(0,46)
		JADE A 1 offset(0,43)
		JADE A 1 offset(0,40)
		JADE A 1 offset(0,37)
		JADE A 1 offset(0,35)
		JADE A 0 offset(0,35) a_refire
		goto ready
	}
}

ACTOR JadeShot
{
	Radius 6
	Height 8
	Speed 40
	Damage (frandom(15,30)*0.025*(30+ACS_executewithresult(WOC_DECORATE,STATS,INTELLECT,TARGET)))
	PROJECTILE
	+DOOMBOUNCE
	-NOGRAVITY
	+MTHRUSPECIES +NODAMAGETHRUST
	+DONTFALL
	+THRUGHOST
	+WINDTHRUST
	+DONTBLAST
	Gravity 0.25
	RENDERSTYLE Add
	SeeSound "Mage/JadeWand/Proj"
	DeathSound "Mage/JadeWand/Break"
	Damagetype "Poison"
	States
	{
	Spawn:
		JWPR AAAAAABBBBBBCCCCCC 1 Bright A_SpawnItemEx("JadeTrail",0,0,0,0,0,0,0,8)
		loop
	Death:
		JWPR E 0 A_CustomMissile("JadeDart", 4, 2, 0)
		JWPR E 0 A_CustomMissile("JadeDart", 4, 2, 40)
		JWPR E 0 A_CustomMissile("JadeDart", 4, 2, 80)
		JWPR E 0 A_CustomMissile("JadeDart", 4, 2, 120)
		JWPR E 0 A_CustomMissile("JadeDart", 4, 2, 160)
		JWPR E 0 A_CustomMissile("JadeDart", 4, 2, 200)
		JWPR E 0 A_CustomMissile("JadeDart", 4, 2, 240)
		JWPR E 0 A_CustomMissile("JadeDart", 4, 2, 280)
		JWPR E 0 A_CustomMissile("JadeDart", 4, 2, 320)
		JWPR E 0 A_CustomMissile("JadeDart", 4, 2, 350)
		JWPR D 5 Bright A_NoGravity
		JWPR EFG 5 Bright
		Stop
	}
}

ACTOR JadeTrail
{   
	Radius 0
	Height 1
	Damage 0
	Speed 0
	PROJECTILE
	+CLIENTSIDEONLY +DONTBLAST
	+NOINTERACTION
	+NOCLIP
	+DONTSPLASH
	RENDERSTYLE ADD
	States
	{
	Spawn:
		JWPR AAAAABBBBBCCCCC 1 Bright A_Fadeout(0.1)
		Stop 
	}
}

ACTOR JadeDart
{
	Speed 20
	Radius 4
	Height 4
	SeeSound "weapons/jadedart"
	Damage (frandom(3,24)*0.025*(30+ACS_executewithresult(WOC_DECORATE,STATS,INTELLECT,TARGET)))
	Damagetype "Poison"
	PROJECTILE
	+MTHRUSPECIES +NODAMAGETHRUST
	+PAINLESS
	-NOGRAVITY
	+DOOMBOUNCE
	+THRUGHOST
	+WINDTHRUST
	+DONTBLAST
	BounceCount 3
	Renderstyle Add
	States
	{
	Spawn:
		JWPR HHHIIIJJJ 1 Bright A_SpawnItemEx("JadeDartTrail",0,0,0,0,0,0,0,8)
		Loop
	}
}

ACTOR JadeDartTrail
{   
	Radius 0
	Height 1
	Damage 0
	Speed 0
	PROJECTILE
	+CLIENTSIDEONLY +DONTBLAST
	+NOINTERACTION
	+NOCLIP
	+DONTSPLASH
	RENDERSTYLE ADD
	States
	{
	Spawn:
		JWPR HHHIIIJJJ 1 Bright A_Fadeout(0.2)
		Stop 
	}
}

actor JadePuff
{
	renderstyle Add
	+NOBLOCKMAP
	+NOGRAVITY
	+PUFFONACTORS
	+PAINLESS
	+BLOODLESSIMPACT
	+MTHRUSPECIES
	Damagetype "Arcane"
	Scale .5
	states
	{
	Spawn:
		IDSE AABBCCDD 1 bright A_FadeOut(0.05)
		Stop
	}
}